1. Field of the Invention
The present invention relates to a file management program stored on a computer readable medium, a file management apparatus, and a file management method that manages a file and its namespace during system operation time.
2. Description of the Related Art
In a file management apparatus, a unit of data viewed from an application program is represented as a file. The file is stored in a container called a file system constituted by a plurality of storage device together with hierarchical namespace information so as to be managed. However, at which location in which storage device the file data is to be stored is determined by a file system program in units of the container, making it difficult to control load across the different file systems. For example, assuming that there are a file system A and file system B and the load on the file system B is constantly very low and that on the file system A is constantly very high, it is necessary to select some files in the file system A and migrate them from the file system A to file system B.
As a conventional art related to the present invention, Patent Document 1 (Jpn. Pat. Appln. Laid-Open Publication No. 7-219830) is known. A replication facility in the Patent Document 1 replicates a file sub-tree in one computer system to another.
However, in the conventional file management apparatus, data migration cannot be performed in an application transparent manner, so that an operator must perform the following operations by hand, and work must be suspended until the operations have been completed.
1. Terminate application programs that access files on file system A.
2. Manually move necessary files from file system A to file system B.
3. After completion of the file movement, provide a link from file system A to file system B and set such that an access made from an application program to migrated files on file system A is switched to a destination file on file system B.
4. At time point when a sequence of all the above operations has been completed, restart the application program and resume work.
As described above, it has been very difficult to dynamically balance the load among different file systems in the conventional file management system. Therefore, in order to eliminate unbalance of the load between the different file systems in the conventional file management system, the application program must be suspended for a long time period. This is also a problem in a file server called “NAS” (Network Attached Storage) and result in a problem called “NAS Island” that disallow users to manage and utilize all NAS devices that customers hold as a whole.
Further, the same problem occurs when one file system is to be migrated to a new one. Thus, the above problem, including a problem in which data migration cannot be performed without affecting application or data cannot be partially migrated, makes it difficult to deploy a new file system or to alter the configuration of an existing file system.
The essential reason why it is difficult to migrate a part of data on one file system to a different file system partially while an application program is being run, is that adapting to a modification of namespace made during the data migration is difficult. Unless the application is terminated, a modification made by it on a migration source may cause the some portion of files to be overlooked inadvertently.
Further, in case of a file server like NAS, shared among a plurality of servers, it is difficult to predict the order in which namespace update operations issued nearly simultaneously from different servers, arrive at the NAS and, therefore, it is difficult to identify the order in which the namespace update operations are processed. This further makes it difficult to adapt to a change of namespace present during the migration processing.
In order to solve the above problem, there can be employed a method that provide a gateway device between the NAS devices and servers (NAS clients) that access the NAS devices, and allow the gateway device to intercept requests issued from the NAS clients and to route them to the lower layer NAS devices. In this method, however, it is necessary to provide an extra gateway device, resulting in an increase in cost and a “file handle problem” where the number of conversion tables increases consistently, as the gateway device is not informed when the NAS clients discard the old file handles, then they will never be discarded.